home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / bbs / Hydra11s.lha / HBBS / Source / Doors_System / XPR / XPRD_Source / doio.c next >
C/C++ Source or Header  |  1996-06-25  |  1KB  |  63 lines

  1. /*
  2.     xprdoio.c
  3.     ---------
  4.     routines for sending and receiving files
  5. */
  6.  
  7. #include "xproto.h"
  8. #include "xpragma.h"
  9.  
  10. /* !!! set up by caller !!! */
  11. extern struct IOExtSer *xpr_serio;
  12. extern struct Library *XProtocolBase;
  13.  
  14. /* fill in before calling!!! */
  15. char *xprfilearray[256];
  16.  
  17. static struct XPR_IO xio;
  18.  
  19. void plog(char,char*,...);
  20.  
  21. extern int init_xpr(struct XPR_IO*);
  22. extern void close_xpr(void);
  23.  
  24. int xprinit(char *options)
  25. {
  26.     if(init_xpr(&xio)) {
  27.   close_xpr();
  28.   return(-1);
  29.     }
  30.     xio.xpr_filename=options;
  31.     if(!XProtocolSetup(&xio)) {
  32.   close_xpr();
  33.   return(-1);
  34.     }
  35.     return(0);
  36. }
  37.  
  38. int xprsend(void)
  39. {
  40.     int r;
  41.     plog('!',"SEND\n");
  42.     xio.xpr_filename=xprfilearray[0];
  43.     r=XProtocolSend(&xio);
  44.     plog('!',"SEND returns %lx\n",r);
  45.     return(r);
  46. }
  47.  
  48. int xprreceive(void)
  49. {
  50.     int r;
  51.     plog('!',"RECEIVE\n");
  52.     xio.xpr_filename=xprfilearray[0];
  53.     r=XProtocolReceive(&xio);
  54.     plog('!',"RECEIVE returns %lx\n",r);
  55.     return(r);
  56. }
  57.  
  58. void xprclose(void)
  59. {
  60.     XProtocolCleanup(&xio);
  61.     close_xpr();
  62. }
  63.